home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / biz / dopus / MPEGA_GUIplay.lha / MPEGA-convert.dopus5 next >
Text File  |  1997-09-27  |  3KB  |  154 lines

  1. /* $VER: MPEGA-convert.dopus5 1.6 (26 Sep 1997)
  2.    ©1997 by mike@kily.ruhr.de (http://kily.home.pages.de)
  3.  
  4.  DOPUS5.5+ AREXX Script for MPEG-Soundconvert to WAV
  5.  with ProgressBarGui via MPEGA SoundPlayer
  6.  
  7.  needs:
  8.   DOPUS 5.5+
  9.   MPEGA 3.3
  10.   TBreak > Aminet:util/cli/TBreak.lha for play abort function.
  11.  
  12.  description:
  13.   A DOPUS GUI for the Great MPEGA player by Stephane TAVENARD.
  14.   displays Name/MPEG-Quality/Time in a DOPUS PROGRESS Window.
  15.   it shows the runtime on a progressbar and a timecounter.
  16.  
  17.  installation:
  18.   as Button,Menu,...
  19.   NO Parameters, only select: <AREXX> Dopus5:ARexx/MPEGA-Convert.dopus5
  20.  
  21.  configuration:
  22.   check/change the mpega startup parameters in this script.
  23.  
  24.  EmailWare:
  25.   this script is email-ware,
  26.   please mail me your favourit MP3 Internet-Site !
  27.  
  28. */
  29.  
  30. PARSE ARG portname .
  31.  
  32. IF portname='' THEN portname='DOPUS.1'
  33. ADDRESS VALUE portname
  34.  
  35. OPTIONS RESULTS
  36.  
  37. LISTER QUERY SOURCE
  38. handle=result
  39. IF RC~=0 THEN DO
  40.  DOPUS REQUEST '"No Source-dir selected !?!" OOPS!'
  41.  EXIT
  42. END
  43.  
  44. LISTER QUERY Handle path
  45. pfad=result
  46. LISTER QUERY Handle selfiles stem files.
  47. IF files.count=0 THEN DO
  48.  DOPUS REQUEST '"no Files selected !?!" OOPS!'
  49.  EXIT
  50. END
  51.  
  52. LISTER SET Handle BUSY ON
  53. LISTER SET Handle newprogress name info bar abort
  54.  
  55. DO j = 0 TO files.count-1
  56. IF index(upper(files.j),".MP") >1 then DO
  57.  LISTER SET Handle NEWPROGRESS NAME "MPEGA-dopus5-GUI by Mike@kily.ruhr.de"
  58.  LISTER SET Handle NEWPROGRESS INFO "Time: 00:00 / 00:00 / Name: "files.j
  59.  LISTER SET Handle NEWPROGRESS bar 10 0
  60.  
  61. pos=lastpos('.',files.j)
  62. fname=left(files.j,pos-1)
  63. file='"'pfad||files.j'"'
  64. file2='"'pfad||fname'.WAV"'
  65.  ADDRESS COMMAND 'RUN >NIL: mpega <nil: -WsT -p-30 'file' 'file2' >PIPE:mpegout'
  66.  
  67.  LISTER SELECT Handle files.j OFF
  68.  
  69.  CALL Open('mpegout','PIPE:mpegout','r')
  70.  
  71.  string = ReadLn('mpegout')
  72.  string=Text( string )
  73.  
  74.  parse var string version "[680"CPU "(C)"dummy
  75.  version=version" "CPU
  76.  
  77.  LISTER SET Handle NEWPROGRESS title j+1' / 'files.count' - 'version
  78.  
  79.  DO until dummy=""
  80.   dummy = ReadLn('mpegout')
  81.  END
  82.  
  83.  string = ReadLn('mpegout')
  84.  string=Text( string )
  85.  
  86.  parse var string dummy"MPEG"MTYPE
  87.  string="MPEG"MTYPE
  88.  
  89.  LISTER SET Handle NEWPROGRESS NAME string
  90.  
  91.  string = ReadLn('mpegout')
  92.  string=Text( string )
  93.  parse var string dummy": "pm":"ps
  94.  
  95.  ptotal=pm*60+ps
  96.  secs=0
  97.  LISTER SET Handle NEWPROGRESS bar ptotal 0
  98.  
  99.  DO UNTIL Eof('mpegout')
  100.  
  101.   time=ReadCh('mpegout',29)
  102.  
  103.   time=left(right(time,10),5)
  104.   secs=secs+1
  105.   if time="" then time=" End."
  106.   LISTER QUERY Handle abort
  107.   IF RESULT THEN DO
  108.    ADDRESS COMMAND 'TBREAK MPEGA >nil:'
  109.    if stop<5 & secs<5 then do
  110.     LISTER REFRESH Handle
  111.     LISTER SET Handle BUSY OFF
  112.     LISTER READ Handle pfad
  113.     LISTER WAIT Handle
  114.     CALL Close('mpegout')
  115.     EXIT
  116.    end
  117.    stop=secs
  118.   END
  119.   ELSE DO
  120.    LISTER SET Handle NEWPROGRESS INFO 'Time: 'pm":"ps" / "time" / Name: "files.j
  121.    LISTER SET Handle NEWPROGRESS bar ptotal secs
  122.   END
  123.  
  124.  END
  125.  LISTER CLEAR Handle abort
  126.  CALL Close('mpegout')
  127.  LISTER SELECT Handle files.j OFF
  128.  LISTER REFRESH Handle
  129. END
  130. END
  131.  
  132. LISTER SET Handle BUSY OFF
  133. LISTER READ Handle pfad
  134. LISTER WAIT Handle
  135.  
  136. EXIT
  137.  
  138.  
  139. EXIT
  140.  
  141.  
  142. TEXT:
  143. PROCEDURE
  144.  TEXT=Arg( 1 )
  145.  esc2=1
  146.  do until esc1=0
  147.   esc1=Verify(text,'1b'x,'m')
  148.   if esc1~=0 then text=delstr(text,esc1,1)
  149.   parse var text d1'[1m'd2'[22m'd3
  150.   text=d1||d2||d3
  151.  end
  152.  
  153. RETURN TEXT
  154.